package com.zcxy360.sandtable.domain;

import com.zcxy360.sandtable.domain.Templet;
import com.zcxy360.sandtable.domain.TempletExample;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface TempletMapper {
	
//	
	Templet selectByPrimaryKeyWithExtra(Integer templetId);
	Templet selectByPrimaryKeyWithCascade(Integer templetId);
	Templet selectByPrimaryKeyWithExtraAndCascade(Integer templetId);
	List<Templet> listWithExtra(@Param("templet") Templet templet, @Param("key") String key, @Param("orderByClause") String orderByClause,@Param("sign") Integer sign);
	int deleteBatch(int[] templetIds);
	int countRoughTime(@Param("planIds") int[] planIds,@Param("videoIds")  int[] videoIds, @Param("drawingIds") int[] drawingIds, @Param("problemIds") int[] problemIds);
	int deleteReferenceByTempletId(Integer templetId);
	int updateReferShared(Integer templetId);
//
	
    long countByExample(TempletExample example);

    int deleteByExample(TempletExample example);

    int deleteByPrimaryKey(Integer templetId);

    int insert(Templet record);

    int insertSelective(Templet record);

    List<Templet> selectByExample(TempletExample example);

    Templet selectByPrimaryKey(Integer templetId);

    int updateByExampleSelective(@Param("record") Templet record, @Param("example") TempletExample example);

    int updateByExample(@Param("record") Templet record, @Param("example") TempletExample example);

    int updateByPrimaryKeySelective(Templet record);

    int updateByPrimaryKey(Templet record);

}